package com.xyoto.community.mapper.picture;

import com.xyoto.community.entity.picture.Picture;
import org.apache.ibatis.annotations.Param;
import com.xyoto.community.po.PictureListPO;

import java.util.List;

/**
 * 统一上传图片的mapper接口
 */
public interface PictureMapper {

    /**
     * 往图片表中插入一条记录
     * @return 数据库操作影响的行数
     */
    Integer insertOne(@Param("picture") Picture picture, @Param("tableName") String tableName);


    /**
     * 根据图片id和图片表表名，从数据表中查出该记录
     *
     * @param pictureId 图片id
     * @param tableName 图片表表名
     * @return
     */
    Picture selectOne(@Param("pictureId") Integer pictureId, @Param("tableName") String tableName);

    /**
     * 根据图片id和图片表表名，从数据表中删除该记录
     * @param pictureId 图片id
     * @param userId 用户id
     * @param tableName 图片表表名
     * @return
     */
    Integer deleteOne(@Param("pictureId") Integer pictureId, @Param("userId") Integer userId, @Param("tableName") String tableName);

    /**
     * 根据图片id组和表名查询图片信息列表
     * @param tableName
     * @param pictureIds
     * @return
     */
    List<PictureListPO> selectListByPictureIds(String tableName,  List pictureIds);

    /**
     * 根据图片id集合批量删除图片
     * @param tableName
     * @param pictureIds
     * @return
     */
    Integer deleteBatchPictureByPictureIds(String tableName, List pictureIds);
}
